A computer or system crash includes an event in which a computer or a program encounters a fatal error which the computer or program cannot handle. As such, the computer or program stops operation, or crashes. For example, a program crash includes a software application that crashes. When the program is a critical part of the operating system kernel, then the operating system may crash resulting in a fatal system error.
Crash reporter systems exist today for end users to report application crashes to the engineers responsible for their code (e.g., Microsoft Watson, Google Chromium CrashReporter, etc.). A crash reporter located at a corresponding end user's system is an application configured to report crash details. The crash dump of information included within a crash report typically only includes a stack trace generated at the time of the crash. The stack trace discloses active stack frames existing up to the point of the crash of the application. Information in the stack trace may allow for tracking the sequence of nested functions up to the point where the stack trace was generated.
However, the stack trace, contained in the crash dump associated with the process that crashed, lacks context such as the user's hardware and software configuration (e.g., operation system, drivers, registry settings, etc.). In addition, a crash dump does not include information regarding application usage to provide additional context. As a result, many times the information contained in the crash report is insufficient to determine the cause of the crash.
It is desirable to obtain additional information related to a crash dump to determine the root cause of a crash.